home *** CD-ROM | disk | FTP | other *** search
- include lmacros.h
- assume ds:dataseg
- public Sssave,Spsave,Intstk_,doret
- extrn _Dorg_:byte
-
- ifdef FARPROC
- extrn doret:far,pcint_:far
- else
- extrn doret:near,pcint_:near
- endif
-
- dbase dw seg _Dorg_
-
- ; pc0vec - PC-100 card #0 interrupt handler
- public pc0vec_
-
- pc0vec_ proc far
- push ds ; save on user stack
- mov ds,cs:dbase
-
- mov Sssave,ss ; stash user stack context
- mov Spsave,sp
-
- mov ss,cs:dbase
- lea sp,Intstk_+512
-
- push ax ; save user regs on interrupt stack
- push bx
- push cx
- push dx
- push bp
- push si
- push di
- push es
- push ds
- pop es
-
- mov ax,0 ; arg for service routine
- push ax
- call pcint_
- pop ax
- jmp doret
- pc0vec_ endp
-
- end
-